package com.logic.landseaserver.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.logic.common.exception.BusinessException;
import com.logic.common.util.QueryUtil;
import com.logic.landseaserver.common.exception.LandseaException;
import com.logic.landseaserver.domain.RefundLog;
import com.logic.landseaserver.ws.dto.OffrentContactDTO;
import com.logic.landseaserver.ws.dto.RefundDTO;
import com.logic.landseaserver.ws.dto.RefundLogDTO;
import com.logic.landseaserver.ws.dto.RefundReqDTO;
import com.logic.system.domain.Role;

public interface IRefund {

    HashMap<String, Object> addOrEditRefund(RefundReqDTO refunddto) throws LandseaException,BusinessException;

    List<RefundDTO> getRefundList(QueryUtil queryUtil);

    HashMap<String, Object> confirmRefund(RefundLog refundlog) throws LandseaException, BusinessException;

    List<RefundLogDTO> confirmRecord(Integer refundId);

    boolean checkApplyRefund(Integer objectId,Integer objectType) throws LandseaException;

    Integer createContact(OffrentContactDTO dto)throws LandseaException;

    List<OffrentContactDTO> queryContactByContractId(Integer contractId)throws LandseaException;
    
    List<Role> getStatusRole();

	Map<String, Object> printRefundReceipt(Integer contractId)throws LandseaException;
}
